package Interfaz;


	import java.awt.Container;
import java.awt.Cursor;
import java.awt.Image;
import java.awt.Point;
import java.awt.Toolkit;
	import java.awt.event.MouseEvent;
	import java.awt.event.MouseListener;

	import javax.swing.ImageIcon;
import javax.swing.border.LineBorder;

import Juego.Tablero;
import Heroes.Heroe;
import TDAMapeo.InvalidKeyException;


	public class Miniatura {
		
		protected RepresentacionGrafica component;
		protected Heroe heroe;
		protected Tablero t;
		
		/**
		 * Constructor de la clase
		 * @param h Heroe de la miniatura
		 * @param cont panel de miniaturas
		 * @param posicionX posicion en x de la miniatura
		 * @param ta tablero
		 * @param s Mensaje a mostrar por la miniatura
		 */
		public  Miniatura(Heroe h, Container cont,int  posicionX, Tablero ta,String s)
		{
			heroe=h;
			t=ta;
			try {
				component=new RepresentacionGrafica(ta.getMapeo().get("Miniatura"+h.getNombre()),posicionX,0);
			} catch (InvalidKeyException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			component.setBounds(component.getX(), component.getY(), 40, 50);
			component.setBorder(new LineBorder(new java.awt.Color(0,0,0), 1, true));
			cont.add(component);
			component.setVisible(true);
			component.setToolTipText(s+"\n Costo: "+h.getCosto());
			Oyente o1= new Oyente();
			component.addMouseListener(o1);
			
		}
		
		
		private class Oyente implements MouseListener {

			
			@Override
			public void mouseClicked(MouseEvent arg0) {
				
				t.setEliminar(false);
				if (t.getTemporal()!=null){
					t.aumentarPuntosdeValor(t.getTemporal().getCosto());
				}
				if ((heroe.getCosto()<=t.getPuntosdeValor()))
				{
					t.restarPuntosdeValor(heroe.getCosto());
					t.setTemporal(heroe.clonar());
				}
				
			}

			@Override
			public void mouseEntered(MouseEvent arg0) {
				// TODO Auto-generated method stub
				
			}

			@Override
			public void mouseExited(MouseEvent arg0) {
				// TODO Auto-generated method stub
				
			}

			@Override
			public void mousePressed(MouseEvent arg0) {
				// TODO Auto-generated method stub
				
			}

			@Override
			public void mouseReleased(MouseEvent arg0) {
				// TODO Auto-generated method stub
				
			}
			
		}

	}

